1. Field of the Invention
The present invention relates to error compensating technology which compensates for bit errors occurring during transmission of transmission data, by retransmitting the transmission data. In particular, the present invention relates to error compensating technology for the case where high speed data transmission is carried out by making up frames of a predetermined period using a plurality of short data packets such as ATM cells.
2. Description of the Related Art
In wireless transmission, the occurrence of bit errors during transmission can not be avoided, and therefore various error compensating techniques have been investigated. For these error compensating techniques, the FEC (Forward Error Correction) method and the ARQ (Automatic Repeat Request) method are effective. Here with the FEC method, a redundant bit is appended to the transmission data, and bit error correction is carried out based on this redundant bit. On the other hand, with the ARQ method, when a bit error is detected, the transmission data is retransmitted.
Of these methods, the FEC method is aimed at improving BER (bit error ratio). Therefore when the FEC method is used, then with respect to bit errors occurring in bursts, there are many cases where such bit errors cannot be adequately corrected. Therefore to carry out accurate data transmission, the ARQ method must be used.
FIG. 10 is a explanatory diagram illustrating an example of conventional error compensating processing using the ARQ method. In FIG. 10, the horizontal thick lines represent time lines for respective transmission equipment and reception equipment. The vertical dotted lines indicate divisions between transmission frames and receiving frames. The rectangular boxes denoted by numerals 21-28 indicate data packets. The numerals inside the rectangular boxes denote sequence numbers which are appended to the data packets. The arrows extending from the transmission equipment to the reception equipment indicate the flow of data packets. The arrows extending from the reception equipment to the transmission equipment indicate the flow of control information. The places marked with an X where the arrows do not reach the mating equipment indicate the occurrence of a bit error at the time of transmission of a data packet or control information.
With the data packets 21-28 to be transmitted from the transmission equipment, a sequence number is appended to each data packet unit. The reception equipment checks the reception condition, and when reception is normal, an ACK (acknowledgment) serving as a normal reception notification, together with the sequence number of the received data packet is sent back as control information. On the other hand, in the case where the reception equipment fails in reception, then an NAK (Negative Acknowledgment) is sent back as the control information. In the case where an ACK and the sequence number cannot be identified amongst the control information that has been sent back (or in the case where an NAK is received), then the transmission equipment retransmits the data package, which is assumed to have failed in transmission. By means of the above processing, all of the information can be reliably delivered to the reception equipment.
FIG. 11 is a block diagram illustrating a configuration example of transmission equipment in a conventional error compensating apparatus. In FIG. 11. numeral 10 denotes transmission equipment, numeral 100 denotes a sequence number appending circuit, numeral 101 denotes a data memory circuit, numeral 102 denotes a control information reception circuit, numeral 103 denotes a transmission control circuit, numeral 104 denotes a transmission circuit, and numeral 106 denotes a communication status management table.
In FIG. 11. the sequence number appending circuit 100 appends a sequence number to each data packet, and the data packet is then sent to the data memory circuit 101. The data memory circuit 101 temporarily stores the data packet. The control information reception circuit 102 receives control information (ACK and sequence number) from the reception equipment (refer to FIG. 12), and sends this control information to the transmission control circuit 103. A control section (not shown in the figure) of the communication status management table 106 then takes from the control information reception circuit 102 via the transmission control circuit 103, the sequence number (for example the sequence number for which normal reception has been verified) from amongst the control information. The control section then compares this sequence number (for normal reception) with the sequence number for the already transmitted data packet, and based on the comparison result, manages the sequence number of any data packets assumed to have not been normally transmitted. The transmission control circuit 103 refers to the communication status management table 106, to decide on the sequence number of the next data packet to be sent. Moreover, at a predetermined timing, the transmission control circuit 103 directs the transmission of the data packet corresponding to the sequence number to the data memory circuit 101 and the transmission circuit 104.
FIG. 12 is a block diagram illustrating a configuration example of the reception equipment in a conventional error compensating apparatus. In FIG. 12, numeral 11 denotes the reception equipment, numeral 110 denotes a data reception circuit, numeral 111 denotes a bit error detection circuit, numeral 112 denotes a sequence number separation circuit, numeral 113 denotes a retransmission control circuit, and numeral 114 denotes a data packet buffer.
The data reception circuit 110 receives the data packet transmitted from the transmission equipment (refer to FIG. 11). The bit error detection circuit 111 judges if a bit error has occurred in the received data packet. If a bit error is detected, the data packet is discarded. On the other hand, if a bit error is not detected, the bit error detection circuit 111 sends the data packet to the sequence number separation circuit 112. The sequence number separation circuit 112 then separates the sequence number from the data packet, and sends the separated sequence number to the retransmission control circuit 113. On the other hand, the data within the data packet is output via the data packet buffer 114. The retransmission control circuit 113 sends back to the transmission equipment (refer to FIG. 11) as control information, the sequence number received from the sequence number separation circuit 112, together with an ACK.
The above is an outline of a conventional error compensating apparatus which uses the ARQ method. Here the case has been described for where the sequence number of the normally received data packet is sent back together with an ACK. However. the case can also be considered where in a similar manner, the sequence number of the data packet which was not normally received is sent back together with an NAK. However with the abovementloned apparatus, in either case where the ACK or the NAK is sent back, the sending back of the ACK or the NAK is carried out for each receipt of one data packet.
With the above mentioned conventional apparatus, as representative examples of management methods for managing the sequence number of the data packet to be retransmitted, a GBN (Go Back N) method and an SR (Selective Repeat) method have been presented. With the GBN method, the data packet where the bit error is detected and all subsequent data packets are successively retransmitted. With the SR method, only the data packet in which the bit error has been detected is selectively retransmitted. As follows is a description of processing algorithms for the GBN method and the SR method used in the conventional apparatus. FIG. 13 is a flow chart illustrating an operation example of transmission equipment which constitutes an error compensating apparatus in the conventional error compensating apparatus which uses the GBN method. In FIG. 13, SN.sub.TX denotes a sequence number of a data packet which has been transmitted to the reception equipment. SN.sub.NAK denotes a sequence number of the oldest data packet amongst the data packets for which normal reception by the reception equipment has not been verified by the transmission equipment (referred to hereunder as the oldest number). SN.sub.ACK denotes a sequence number which has been recorded together with ACK in the received control information. WS (window size) denotes the number of data packets which the transmission equipment can sent consecutively, without receiving control information (that is to say receipt verification). This consecutive transmission is to prevent retransmission due to the occurrence of a bit error in the control information, even though the reception equipment has received normally. In step 50. the control information reception circuit 102 receives the control information which has been sent back from the reception equipment. In step 51. the control information reception circuit 102 judges if a bit error has not occurred in the received control information. In the case where a bit error has not occurred in the received control information, then in step 52, (SN.sub.ACK +1) is substituted for sequence number SN.sub.ACK in the communication status management table 106. That is to say, with the communication status management table 106. since receipt of the sequence number SN.sub.ACK verifies that all of the data packets older than the data packet corresponding to the sequence number SN.sub.ACK have been normally received by the reception equipment, then the sequence number SN.sub.ACK is updated. Then in step 53, the transmission control circuit 103 judges if the difference between the sequence numbers SN.sub.TX and SN.sub.ACK is larger than the window size WS. In the case where the difference between the sequence numbers SN.sub.TX and SN.sub.ACK is larger than the window size WS, then in step 54. the transmission control circuit 103 substitutes SN.sub.ACK for the sequence number SN.sub.TX. In other cases however, in step 55, the transmission control circuit 103 substitutes (SN.sub.TX +1) for the sequence number SN.sub.TX.Then in step 56, the transmission circuit 104 transmits the data packet having a sequence number SN.sub.TX.
FIG. 14 is a flow chart illustrating an operation example of reception equipment which constitutes the error compensating apparatus in the conventional error compensating apparatus which uses the GBN method. In FIG. 14. SN denotes a sequence number of a data packet which the reception equipment has received. SN'.sub.ACK denotes a sequence number of a data packet for which normal reception has been verified. SN'.sub.ACK is used in managing the reception equipment.
At first in step 60, the data reception circuit 110 receives the data packet which has been output from the transmission equipment. Then in step 61, the bit error detection circuit 111 judges if a bit error has occurred In the received data packet. In step 62, the sequence number separation circuit 112 judges if the sequence number SN is equal to (SN'.sub.ACK +1). If in step 61 and step 62, at least one of the judgment results is a NO, then in step 63, the bit error detection circuit 111 (or the sequence number separation circuit) discards that data packet. On the other hand, if in step 61 and step 62, both of the judgment results are a YES, then in step 64, the data packet buffer 114 stores this data packet as a normally received data packet. Then in step 65. the sequence number separation circuit 112 adds a one to the sequence number SN'.sub.ACK. Then, in step 66, the retransmission control circuit 113 sends back the sequence number SN'.sub.ACK together with an ACK to the transmission equipment. In the case in FIG. 14 where the judgment result of step 62 is a NO, then in step 63 the data packet is discarded. However in this case, the data packet can be overwritten in the data packet buffer 114.
FIG. 15 is a flow chart illustrating an operation example of transmission equipment which constitutes an error compensating apparatus in the conventional error compensating apparatus which uses the SR method. In FIG. 15. SN.sub.TX denotes a sequence number of a data packet which has been transmitted to the reception equipment. SN.sub.NAK denotes a sequence number of the oldest data packet amongst the data packets for which normal reception by the reception equipment has not been verified by the transmission equipment. WS denotes the window size.
In step 71, the control information reception circuit 102 receives the control information which has been sent back from the reception equipment. In step 72, the communication status management table 106 records the transmission status of the data packet based on this control information. After this in step 73, the transmission control circuit 103 refers to the communication status management table 106 and reads out the sequence number SN.sub.NAK. In step 74, the transmission control circuit 103 judges if the difference between the sequence numbers SN.sub.TX and SN.sub.NAK is larger than the window size WS. In the case where the difference between the sequence numbers SN.sub.TX and SN.sub.NAK is larger than the window size WS, then in step 75, the transmission circuit 104 transmits the data packet of the sequence number SN.sub.NAK. Meanwhile in other cases, in step 76, the transmission control circuit 103 adds a one to SN.sub.TX.Then in step 77, the transmission circuit 104 transmits the data packet of sequence number SN.sub.TX.
FIG. 16 is a flow chart illustrating an operation example of reception equipment which constitutes an error compensating apparatus in the conventional error compensating apparatus which uses the SR method. In FIG. 16, SN denotes a sequence number of a data packet which has been received by the reception equipment.
At first in step 80, the data reception circuit 110 receives the data packet which has been output from the transmission equipment. Then in step 81, the bit error detection circuit 111 judges if a bit error has occurred in the data packet (that is to say, judges if the received data packet is correct). In the case where a bit error has occurred in the data packet, then in step 84, the bit error detection circuit 111 discards that data packet, and then in step 85, the retransmission control circuit 113 sends back an NAK. Meanwhile, in the case where a bit error has not occurred in the data packet, then in step 82 the data packet buffer 114 stores that data packet, and then in step 83, the retransmission control circuit 113 sends back the sequence number SN together with an ACX to the transmission equipment.
In the above, the control algorithm for the GBN method and the SR method used in the conventional apparatus has been described. Moreover, the description has been given for the case where the sequence number is a serial number. However alternatively, the sequence number may be a modulo of a suitable variable. In this case however, operational processing must be carried out with consideration of the newness of the data packet corresponding to the sequence number. rather than the absolute value of the number.
In the case where the abovementioned conventional error compensating technology is applied for example to high speed data communication using ATM, then various problems arise. Of these, the biggest problem is that, even though the data packet length (data transfer unit) is extremely short (for example 53 bytes), this must be supported up to extremely high transmission speeds. For example in the case where for each ATM cell (data packet). one byte is assigned for a sequence number, and two bytes are assigned for data for a CRC check used in bit error detection, then the transmission efficiency drops to about 6%. Furthermore, in the case where a wireless link is used for the transmission channel, then of course preamble becomes necessary and an efficiency drop occurs due to this. In such cases, as disclosed for example in Japanese pending patent application No. 3-53282 entitled "Satellite Communication Method", accommodating of a plurality of ATM cells (data packets) in a single frame is effective in improving the transmission efficiency.
FIG. 17 is a explanatory diagram illustrating an example of conventional error compensating processing for the case where a plurality of data packets are accommodated in one frame. In this figure, the SR method is used as one example for managing the data packet to be retransmitted. The horizontal thick lines in FIG. 17 represent time axes, the upper line representing the transmission equipment side, while the lower line representing the reception equipment side. In FIG. 17, the processing is carried out in sequence from the left. Moreover in FIG. 17, the vertical solid lines represents divisions between frames. The frames comprise a data region for accommodating data packets, and a control information region for accommodating control information, with the divisions between these indicated by vertical dotted lines. The rectangular boxes denoted by numerals 30-45 indicate data packets. The numerals inside the rectangular boxes denote the sequence numbers which are appended to the data packets. The arrows extending from the transmission equipment to the reception equipment indicate the flow of data packets. The arrows extending from the reception equipment to the transmission equipment indicate the flow of control information. The situation where a bit error occurs during transmission is indicated by an X. Here the case where four data packets are accommodated in one frame is shown as one example.
In this case, the transmission equipment appends a sequence number to each data packet to be transmitted, and then transmits the data packet. On the other hand, the reception equipment judges if a bit error has occurred for each of the received data packets, and sends a control information of the set of the sequence numbers of the normally received data packets to the transmission equipment per frame. The transmission equipment then determines the next data packet for transmission, based on all of the sequence numbers in the control information.
With the example shown in FIG. 17, the transmission equipment transmits the data packets with sequence numbers 1 through 4 in the first frame. At this time, it is assumed that during transmission a bit error occurs in the sequence packet of sequence number 1. The reception equipment sends back the sequence numbers of the data packets which have been normally received (that is to say, the sequence numbers 2.about.4) together with an ACK to the transmission equipment as control information. Since out of the data packets sent in the first frame (that is to say the data packets of sequence number 1.about.4) the transmission equipment is not able to verify normal reception of the data packet of sequence number 1. then at first in the second frame, the transmission equipment transmits the data packet of sequence number 1 and in the remaining data regions, transmits in succession, the data packets of sequence number 5 and after.
With the example shown in FIG. 17. the transmission equipment similarly transmits in the third frame, the data packets of sequence numbers 8.about.11. The reception equipment then normally receives all of these data packets, and sends back the sequence numbers (that is sequence numbers 8.about.11) together with the ACK to the transmission equipment as control information. At this time, it is assumed that during transmission a bit error occurs in the control information. Since a bit error has occurred in the control information, the transmission equipment regards the transmission of all the data packets to have failed, and therefore retransmits the data packet transmitted in the third frame (that is to say the data packets of sequence numbers 8.about.11) in the fourth frame.
Here with the control information sent back by the reception equipment. the maximum number of sequence numbers corresponding to an ACK (or an NAK) is equal to the maximum number of data packets which can be accommodated in one frame. For example in the case where the transmission speed of the ATM is approximately 10Mbps. then 26ATM cells (data packets) are sent per 1ms. In this case, a volume of (the bit length necessary for addressing the sequence number).times.(the maximum number of data packets which can be accommodated within one frame) is required for each frame as a control information region. Therefore if the transmission speed is not fast than maximum transmission speed. the ratio of the control information region to the total region of transmission speed increase. Moreover, the transmission equipment must judge for all of the sequence numbers in the control information for each frame, if retransmission is necessary. Therefore the processing load on the transmission equipment is extremely large. Moreover, a table for managing the arrival circumstances of a large number of data packets is necessary, and hence the scale of the hardware expands.
In the case where the GBN method is applied, the above problems for when the SR method is applied can be resolved. However with the GBN method, if a bit error occurs in one data packet inside one frame, then the reception equipment discards that data packet and all the subsequent data packets inside that frame. As a result, the transmission equipment retransmits the data packet where the bit error has occurred and all subsequent data packets of that frame. At this time, even though a bit error may have occurred only in the data packet positioned at the head or close to the head of the frame, that data packet and all subsequent data packets are discarded. There is therefore the problem in the case where the GBN method is applied, in that with an increase in the BER (bit error ratio), the throughput drops sharply.